package com.wry.wry_test.utils;

import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import org.yaml.snakeyaml.Yaml;

import java.io.FileInputStream;
import java.util.Map;

public class JsonVerify {

    public static void main(String[] args) {
        String json = yamlToJson("E:\\工作文档\\data\\iserver-openapi-public-all.yaml");
        JSONObject jsonObject = JSONObject.parseObject(json);
        try {
//            FileOutputStream output = new FileOutputStream("E:\\工作文档\\data\\iserver-openapi-public-all.json");
//            if (StringUtils.isNotBlank(json)) {
//                output.write(json.getBytes());
//            }


            System.out.println(json);

        } catch (Exception e) {
            e.printStackTrace();
        }


    }

    public static String yamlToJson(String filename) {
        String jsonData;
        try {
            // 创建Yaml对象
            Yaml yaml = new Yaml();
            // 打开文件输入流
            FileInputStream input = new FileInputStream(filename);
            // 读取整个文件为一个Map对象,如果yaml文件为列表，则数据类型为list
            Map<String, Object> data = yaml.load(input);
            // 创建ObjectMapper对象用于将数据转换为JSON
            ObjectMapper mapper = new ObjectMapper();
            // 启用格式化输出
            mapper.enable(SerializationFeature.INDENT_OUTPUT);
            // 将数据转换为JSON字符串
            jsonData = mapper.writeValueAsString(data);
            // 返回读取的数据
            return jsonData;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}
